/*
 * @Date: 2025-05-06 13:40:51
 * @LastEditors: Csir 2215995096@qq.com
 * @LastEditTime: 2025-05-22 14:41:41
 * @FilePath: \yujin-ui-admin\src\api\opticore\materialplan\index.ts
 */
import request from '@/config/axios'

// 领料计划 VO
export interface MaterialPlanVO {
  id: number // ID
  docNo: string // 工单号
  itemCode: string // 材料品号
  itemName: string // 材料品名
  itemSpecification: string // 材料规格
  itemDesc: string // 材料描述
  drawingNo: string // 材料图号
  unitName: string // 单位
  requiredQty: string // 需领用量
  issuedQty: string // 已领用量
}

// 领料计划 API
export const MaterialPlanApi = {
  // 查询领料计划分页
  getMaterialPlanMainPage: async (params: any) => {
    return await request.get({ url: `/opticore/material-plan-main/page`, params })
  },
  getMaterialPlanPage: async (params: any) => {
    return await request.get({ url: `/opticore/material-plan/page`, params })
  },

  // 查询领料计划详情
  getMaterialPlan: async (id: number) => {
    return await request.get({ url: `/opticore/material-plan-main/get?id=` + id })
  },

  // 新增领料计划
  createMaterialPlan: async (data: MaterialPlanVO) => {
    return await request.post({ url: `/opticore/material-plan/create`, data })
  },

  // 修改领料计划
  updateMaterialPlan: async (data: MaterialPlanVO) => {
    return await request.put({ url: `/opticore/material-plan/update`, data })
  },

  // 删除领料计划
  deleteMaterialPlan: async (id: number) => {
    return await request.delete({ url: `/opticore/material-plan/delete?id=` + id })
  },

  // 导出领料计划 Excel
  exportMaterialPlan: async (params) => {
    return await request.download({ url: `/opticore/material-plan/export-excel`, params })
  },

  // ==================== 子表（领料记录） ====================

  // 获得领料记录列表
  getMaterialRecordListByMaterialId: async (materialId) => {
    return await request.get({
      url: `/opticore/material-plan/material-record/list-by-material-id?materialId=` + materialId
    })
  }
}
